Peak detectors were almost universally employed in digital magnetic recording systems prior to introduction of a disk drive employing PR4 equalization with sampling Viterbi detection by IBM in 1990. The purpose of the peak detector is to detect recorded digital data ("0"s and "1"s) as it passes the read head. In typical NRZI systems, a "1" appears as a readback pulse with a single peak and a "0" as the absence of a pulse in a predetermined time slot, or "bit cell" or "window". Since pulse peaks are somewhat indistinct by their nature, peak detectors operate by transforming peaks into zero-crossings, which are more easily detectable events. Two types of peak detector channels are in common use--namely 1) the differentiating amplitude-qualified peak detector (AQPD), and 2) the integrating detector.
Referring to FIG. 1, in an AQPD, isolated pulse (or step response) 100 for an unshielded magnetoresistive (UMR) head is equalized if needed to be bounded in time, and then differentiated to provide the zero-crossing event. Equalized pulse 102 for the UMR head has gradual undershoot features 12 and 14, which is absent with inductive heads. Differentiated pulse 104 provides the desired zero-crossing event. Most of the equalized pulse energy is in the {-T.sub.min,T.sub.min } interval, where T.sub.min is the minimum time between transitions.
Referring now to FIG. 2, the signal in an AQPD channel may have false peaks due to the shape and/or the presence of noise in the "shoulder" regions 21 of equalized signal 110. To minimize the possibility of a detection error arising from noise, the equalized (undifferentiated) signal amplitude must be greater than a threshold, which is typically set around half the average peak (envelope) amplitude. Often the threshold is set a little lower in the presence of modulation noise. An AQPD involves the coincident operation of two channels known as the amplitude and timing channels. Feature 28 of differentiated peak detector signal 120 illustrates a qualified zero crossing. A relevant patent for this type of detector is U.S. Pat. No. 4,081,756, "Dual Channel Signal Detector Circuit", by R. Price et al., issued Mar. 28, 1978, which describes a peak detection channel that senses the peaks of the read signal and a simultaneously operating gate generating channel that produces gating pulses in response only to individual read pulses in the read signal.
Referring to FIG. 3, in the integrating detector, the isolated pulse 200 is also equalized if needed to be bounded in time (pulse 202), and then integrated (pulse 204) to provide the desired zero-crossing event. The integration must be imperfect (represented by a pole on the negative real axis near the origin) to avoid excessive low frequency noise enhancement. The imperfect integration results in a droop in the isolated pulse response, which is illustrated at feature 32 of integrated pulse 204. Integrating detectors must be used with encoded data having codes that have d.c.-free write current or with decision feedback equalization (DFE) in order to avoid excessive baseline shift due to intersymbol interference (ISI) from distant neighbors.
Referring to FIG. 4, baseline shift in signal 220 appears as a slow variation in the location of signal samples at the clock time, i.e., the diamonds near the baseline. Since the signals in integrating detectors do not approach zero between peaks, amplitude qualification is not needed, and, therefore, integrating detectors require only one channel, the timing channel, for the decision process.
Run Length Limited (RLL) codes for encoding data are defined from the viewpoint of NRZI, where for each bit cell, a "1" represents a recorded magnetic transition, and "0" represents no transition. In standard m/n(d,k) RLL codes, m data bits are mapped into n code bits, for a code rate of r=m/n. There is a minimum of d and a maximum of k NRZI code "0"s between adjacent "1"s. The clock period of the code is T.sub.C =(m/n)T.sub.d, where T.sub.d is the data period. The run length constraints can be described alternately as a minimum of d+1 and a maximum of k+1 clock intervals between recorded transitions. The minimum time between transitions is T.sub.min =(d+1)T.sub.C. The detection window, T.sub.W, is equal to T.sub.C. The purpose of RLL codes is to make the code self-clocking by limiting the maximum run of "0"s, and sometimes (but not always) to increase T.sub.min to a value greater than T.sub.d. A readback pulse peak detected anywhere within a window is assumed to have been written at the center of that window.
The charge of the write current is integral of the normalized write current (i.sub.W =.+-.1) starting at some arbitrary time, where time is normalized to T.sub.C. The sign of the write current alternates at each transition. For normal recording techniques (i.e., no write equalization), a transition spacing of s contributes to .+-.s to the accumulated charge. The example below shows the accumulated charge of a (1,7) RLL data pattern:
______________________________________ SPACING s 4 2 3 2 2 5 8 2 2 4 polarity + - + - + - + - + - CHARGE 4 2 5 3 5 0 8 6 8 4 ______________________________________
In d.c.-free RLL modulation codes, the maximum accumulated charge, .vertline.c.vertline., is constrained. Such codes are also called charge-constrained RLL (or CCRLL) codes. CCRLL codes and their maximum theoretical code rate (or channel capacity) as a function of d, k, and c are described by K. Norris and D. S. Bloomberg, "Charge-Constrained Run-Length Limited Codes", IEEE Trans. Magn., vol. MAG-17, no. 6, Nov. 1981, p. 3452. Constraining the charge reduces the channel capacity. Actual codes are designed to operate at code rates as close as possible to this maximum without excessive hardware complexity. For example, the standard (1,7) RLL code with no c-constraint has a maximum possible code rate r of 0.6793 and operates at r=2/3=0.6667. (1,7) CCRLL code rates would have to be 5/8 or 3/5 (0.625 or 0.6), depending on c. The minimum attainable value of c is c.sub.min =int(k/2+1). CCRLL codes are used in magnetic recording systems with rotary transformers, which cannot pass d.c. in the write current. A good example is the 8/10 (0,3) R-DAT code, with c=3. CCRLL codes can be difficult to design, especially at code rates close to the capacity. Procedures for their design are familiar to coding specialists in this field.
Equalizers for peak detectors are designed to minimize ISI so that each peak may be discretely detected. Such equalizers are sometimes called "zero forcing" equalizers. At worst, a small amount of ISI is tolerated due to the tradeoff between slimming and high frequency noise enhancement. Partial Response (PR) equalizers employ deliberate ISI to reduce the high frequency noise enhancement. This makes the channel more closely resemble the matched filter, improving the equalized pulse signal-to-noise ratio (SNR). PR equalization is used with maximum likelihood (ML) detectors, whose function is to separate optimally the data out of the deliberately overlapping or interfering pulses. ML detectors sample the signal at discrete times which are not necessarily tied to specific events such as peaks.
Because PR equalization is so closely associated with ML detection, the acronym "PRML" is well-known in the literature. The Vertibi detector is the best known ML detector for use with PR equalization. The terms "Viterbi" and "ML" are sometimes used interchangeably. PRML was first proposed for magnetic recording systems by Kobayashi and Tang of IBM in 1970 and 1971. See H. Kobayashi and D. Tang, "Application of Partial-Response Channel Coding to Magnetic Recording Systems", IBM Jrnl. of Res. & Dev., vol. 14, no. 4, July, 1970, p. 368; and H. Kobayashi, "Application of Probalistic Decoding to Digital magnetic Recording Systems", IBM Jrnl. of Res. & Dev., vol. 15, no 1, January, 1971, p. 64. See also P. Kabal and S. Pasupathy, "Partial Response Signaling", IEEE Trans. Commun., vol. COM-23, no. 9, p. 921, September 1975. PRML channels are described in R. Wood and D. Petersen, "Viterbi Detection of Class IV Partial Response on a Magnetic Recording Channel", IEEE Trans. Commun., vol. COM-34, no. 5, May 1986, p. 493; and F. Dolivo, "Signal Processing for High-Density Digital Magnetic Recording", Proceedings of COMPEURO 90, Hamburg, W. Germany, May 8-12, 1989.
Peak detection recording systems are generally characterized by their isolated pulse or step response (response to the NRZI . . . 0001000 . . . pattern, where "1" is a transition and "0" is no transition). This is their response to a single recorded transition. PRML systems, by contrast, are characterized by their equalized pulse response (response to the NRZ . . . 0001000 . . . pattern, equivalent to NRZI . . . 00011000 . . . ), where the write pulse consists of two write current steps (or recorded transitions) separated by the clock period, T. NRZI recording is in fact a type of precoding, which is discussed elsewhere in this specification, performed on NRZ data to minimize error propagation in peak detection channels. The use of the pulse response facilitates the description of the system state for the ML detector and eliminates the need to keep track of the alternating signs of the NRZI transitions.
Standard PR systems are described by pulse response polynomials of the form F(D)=(1-D).sup.m (1+D).sup.n, where D is the delay operator equivalent to the clock period T. The pulse response polynomial is equivalent to the expected pulse response at sampling times, i.e. bit cells. For example, the partial response type 4 (PR4) polynomial is (1-D)(1+D)=1-D.sup.2. The expected pulse response at the sampling times is . . . 000101000 . . . The step response (isolated pulse) can be derived by dividing the response polynomial by (1-D). For PR4, it is 1+D= . . . 00011000 . . . at sampling times. The PR4 isolated pulse peak is located between the two nonzero sampling points, i.e., the PR4 signal is sampled on non-events off the peaks. Because of this sampling parameter, timing recovery for PR systems must be performed by sophisticated digital techniques, as described in Dolivo (supra), or by a separate analog timing channel.
The equivalent PR polynomial for standard peak detection is F(D)=1-D, which corresponds to a step response of 1 (i.e., . . . 000100000 . . . at sampling times). The minimum bandwidth pulse corresponding to this step is f.sub.min (t)=sin(.pi.t/T)/(.pi.t/T), which is unattainable in practice because its frequency spectrum G(f) is constant up to a cutoff frequency of .vertline..function.c.vertline.=1/2T, and beyond this frequency. Practical peak detection systems with analog equalization operate with considerable excess bandwidth and trade off pulse slimming with noise enhancement. The (1-D) term arises from the differentiation in the read process for inductive heads or the sensitivity to the perpendicular field in magnetoresistive heads. Because it is considered to be intrinsic to magnetic recording, the PR channels previously discussed in magnetic recording literature contain the (1-D) pulse response term. One exception is described in R. Wood, "New Detector for 1,k Codes Equalized to Class II Partial Response", IEEE Trans. Magn., vol. MAG-25, no. 5, September 1989, p. 4075, which describes a PR2 channel for a (1,k) code that uses a type of decision feedback called a "Modified Linear Canceler" that does not resemble the present invention.
The standard PR precoding algorithm is the 1/F' (D) operation on the NRZ encoded bit pattern, where F' (D) is the expanded response polynomial F(D) with + and- replaced by the (+mod 2) or XOR operator. This replacement results in even output levels for code "0"s and odd output levels for code "1"s, eliminating error propagation. For F(D)=1-D or 1+D (PR1), precoding simply converts NRZ data to NRZI. Terms in the F(D) expansion with even coefficients (such as the D term in PR2) drop out of F' (D). Curiously, this makes PR2 precoding identical to PR4. The precoder is a conventional element of PRML systems, and is discussed in detail in the classic papers on PRML.
By noting that the Fourier transform of the delay operator D=.delta.(t-T) is exp(-j2.pi..function.T), it can be shown that the (1+D).sup.n in the PR polynomial is equivalent to a frequency response term of cos.sup.n (.pi..function.T) in the equalized pulse response, and the (1-D).sup.m factor is equivalent to a frequency response term of jsin.sup.m (.pi..function.T). PR systems with higher values of m therefore have more gradual and easily realizable high frequency rolloffs and are better matched to the properties of magnetic recording channels. Partial response systems with the (1+D).sup.n factor have a response null at the maximum write frequency for (0,k) codes, .function..sub.max =1/2T, i.e., the NRZ . . . 010101000 . . . pattern (a transition for every clock interval; equivalent to the NRZI . . . 1111 . . . pattern). As a result of this null, modulation codes for PR systems must be designed to eliminate long runs of this pattern, in a manner similar to the elimination of long runs of the NRZ . . . 0000 . . . and NRZ . . . 1111 . . . patterns (both equivalent to long runs of NRZI "0"s).
Table I gives some of the details of the most important PR channels. The PR names are arbitrary labels of no particular significance which were originated in E. Kretzmer's "Generalization of a Technique for Binary Data Communication", IEEE Trans. Commun. Techn., vol. COM-14, February 1966, p. 67.
TABLE I ______________________________________ PARTIAL RESPONSE SYSTEMS Pulse Response % Min. Polynominal No. of No. of Speed Eye Name F(D) Levels States Tolerance Width ______________________________________ PR 1 + D 3 2 42.5 0.667T PR (1 + D).sup.2 = 5 4 26.6 0.689T 2 1 + 2D + D.sup.2 PR (1 + D) 3 4 15.5 0.357T 4 (1 - D) = (2 .times. 2) 1 - D.sup.2 EPR (1 + D).sup.2 5 8 14.1 0.363T 4 (1 - D) = 1 + D - D.sup.2 - D.sup.3 ______________________________________
The speed tolerance and eye pattern width, which are both measures of timing sensitivity, are taken from Kabal and Pasupathy (supra). The (1-D) factor in F(D) eliminates the d.c. content of partial response signals. D.C. content is present in PR1 and PR2 signals, neither of which contain the (1-D) factor. PR1 and PR2 equalization is intended for use in communication channels other than magnetic recording systems that can support d.c. signals. Thus, these other channels are neither strictly analogous to nor considered useful in the art of magnetic recording.
The prior art of magnetic recording teaches that the (1-D) factor must be present in the partial response polynomial. Some examples: "A magnetic recording channel can be treated as a partial-response channel that possesses an inherent factor (1-D) in its discrete transfer function," H. Kobayashi and D. Tang. "The 1-D factor is included in the channel transfer function of magnetic recording systems because of the inherent differentiation in the playback process," J. Moon and L. R. Carley. "Among the PR schemes, class-IV signaling (PR-IV) with polynomial 1-D.sup.2 and extended class-IV (EPR-IV) with polynomial 1+D-D.sup.2 -D.sup.3 exhibit spectral nulls at DC and at half the signaling rate. They are thus well suited for the type of bandpass channels encountered in magnetic recording," F. Dolivo. "The combined transfer function of the zero-order hold and write process blocks, as shown, is similar to that of the (1-D) partial response system. Thus, partial response polynomials for saturation recording must include a (1-D) factor," H. Thapar and A. Patel.
The input to a Viterbi detector is sampled data, which is usually digitized. The operation of a Viterbi detector is usually visualized by means of the Viterbi trellis, illustrated in FIGS. 5, 6 and 7 for PR2, PR2, and PR4 equalization, respectively. The state of the system is the contents of a memory contained within the Viterbi detector whose size is determined by the number of samples, L, over which the response is spread. There are 2.sup.L-1 states, derived from the L-1 samples prior to the present sample, which is not a part of the state (i.e., memory). The expected sample value E(D), or "transition" (FIG. 5) is derived from the PR polynomial, F(D). For data pattern A(D), E(D)=A(D) F(D). For example, for PR2 equalization (F(D)=(1+D).sup.2 =1+2D+D.sup.2), if the previous two bits (D.sup.2 and D) are 1 and 0, and the present bit is 1, the transition value is 2.
Starting with a known state (a node on the Viterbi trellis), the Viterbi detector compares each data sample with the expected transition on the trellis for each path starting at that state, calculating and storing the square metric (the sum of the squares of the difference between the samples and the expected transitions) for each path on the trellis. Whenever more than one path enters a node, the one with the worst metric is eliminated. Where there is only one surviving path leaving the starting node, a decision has been made. In actual Viterbi detectors, this algorithm is simplified to reduce the detection process to a sequence of add, compare, and select operations in order to minimize hardware complexity. These simplifications do not alter the substance of the algorithm. The design of a Viterbi detector for any of the above referenced PR equalizations can be accomplished by an engineer versed in the art of digital circuit design. See, for example, R. Wood and D. Petersen, "Viterbi Detection of Class IV Partial Response on a Magnetic Recording Channel", IEEE Trans. Commun., vol. COM-34, no. 5, May 1986, p. 493.
For white noise, the performance improvement over symbol-by-symbol detection is largely determined by the minimum distance error event, which is the difference between any pair of paths starting and ending at the same node that has the minimum squared distance metric d.sub.min.sup.2 (the sum of squares of the differences between expected transitions). These paths are illustrated by the pairs of dashed paths in FIGS. 5, 6 and 7. For PR1 and PR4, d.sub.min.sup.2 =2. For PR2 and EPR4 (not illustrated), d.sub.min.sup.2 =4. The effective SNR improvement of the Viterbi detector is 10 log.sub.10 (d.sub.min.sup.2), or and 3 dB for PR1 and PR4 and 6 dB for PR2 and EPR4. This equation assumes white (uncorrelated) noise at the Viterbi detector input.
For the simple partial response systems under consideration, the minimum distance error event results from one of two situations: a missing (or added) bit, e.g., 00000 vs. 00100; or a shifted bit, e.g., 001000 vs. 000100. The two dashed paths illustrated for PR2 in FIG. 7 represent data 0001000 and 0010000, i.e., a shifted bit error with a squared distance metric of 4. For PR2, the squared distance metric for the missing bit error is 6. The noise at the Viterbi detector input is not generally white (uncorrelated). For PR4, both the missing and shifted bit errors are immune to correlated noise. For PR2, the shifted bit error is immune to correlated noise, but the missing bit error, which has a larger difference metric to begin with, may be highly sensitive.
It is known in the art of communication technology (which includes magnetic recording) that the best signal-to-noise ratio for a received pulse is obtained by passing the pulse through a matched filter, which is a circuit whose transfer function is proportional to the Fourier transform of the pulse. A matched filter widens the pulse. Partial response recording channels were developed to enable equalizers for high density recording systems (i.e., systems that suffer from intersymbol interference) to resemble matched filters more closely than is possible for peak detector equalizers, which must generally slim the pulse. While (1-D)(1+D).sup.n equalizers such as PR4 and EPR4 are generally a better match to the pulse spectrum than peak detector equalizers, they may not be a good match at low frequencies, particularly for UMR heads, which have a high level of low frequency energy that is in effect thrown out by such equalizers. A need has been felt to achieve higher recorded densities by means of partial response channels that are a better match to the UMR pulse response.